<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // 解构
        //   数组的解构
        //   对象的解构

        // const arr = [1, 2, 3];

        // let x = arr[0];
        // let y = arr[1];
        // let z = arr[2];

        // let [x, y, z] = arr;

        // console.log(x, y, z);


        // let [m, n] = [1, 2];


        // let [a, b] = [1, 2, 3];


        // let [, a] = [1, 2, 3];
        // console.log(a);

        // let [, a] = [1, [2, 3], 4];
        // console.log(a);  // [2,3]

        // let [, [, a]] = [1, [2, 3], 4];
        // console.log(a);  // 3


        // let a = 1;
        // let b = 2;
        // // 交换两个变量的值
        // [a, b] = [b, a];

        // console.log(a, b);


        // const obj = {
        //     name: 'xx',
        //     age: 18,
        //     say: function () {
        //         console.log(66);
        //     }
        // }

        // const { age, name } = obj;

        // console.log(name, age);

        // const { say } = obj;

        // say()

        // 对象的解构
        //   {对象的键名:变量的名字} = obj
        //   对象的键名和变量的名字一样  就可以简写


        // 变量名 username
        // const { name: username } = obj;
        // console.log(username);




        const obj = {
            name: 'xx',
            age: 18,
            nickname: {
                name1: 'cc',
                name2: 'yy'
            }
        }

        // 对象中的嵌套解构   解构的键名加上
        // const { nickname: { name1 } } = obj;

        // console.log(name1);


        // console.log(obj.name);
        // console.log(obj.age);

        const { name, age } = obj;
        console.log(name);



    </script>

</body>

</html>